﻿<?xml version="1.0" encoding="utf-8" ?>
<!--?Mapping XmlNamespace="http://tulip.org/rules/model/2011/01" ClrNamespace="Tulip.Engine.Models" Assembly="Tulip.Engine"?-->
<!--?Mapping XmlNamespace="http://tulip.org/rules/model/2011/01" ClrNamespace="Tulip.Engine.Models" Assembly="Tulip.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=150f7a1eb7752c5d"?-->
<!--"?Mapping XmlNamespace="http://microsoft.com/system/linq/expressions/3.5" ClrNamespace="System.Linq.Expressions" AssemblyRef="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"?-->
<a:Items xmlns="http://tulip.org/rules/model/2011/01"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:e="clr-namespace:System.Linq.Expressions;assembly=System.Core"
       xmlns:a="clr-namespace:Tulip.Engine.Models.ClosedWorld;assembly=Tulip.Engine"
       Name="Miss Manners"
       CultureInfo=""
       ProcessorArchitecture="X86"
       Major="1" Minor="0" Build="0" Revision="0">
    <a:Items.AssemblyReferences>
        <!--TODO: check the attribute use here-->
        <a:AssemblyReference Name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <a:AssemblyReference Name="Tulip.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <a:AssemblyReference Name="Tulip.Rules.Benchmark.MissManners.Types" VersionMajor="1" VersionMinor="0" VersionRevision="0" VersionBuild="0" Culture="neutral" PublicKeyToken="d102bf5426684cc2" />
    </a:Items.AssemblyReferences>
    <a:Items.Types>
        <a:Type Name="System.Int32"
              AssemblyRef="mscorlib"
              TypeKind="Struct"
              TypeVisibility="Public"
              IsStatic="False" />
        <a:Type Name="System.String"
              AssemblyRef="mscorlib"
              TypeKind="Struct"
              TypeVisibility="Public"
              IsStatic="False" />
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Chosen"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="Id"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>
            <a:Member Name="Name"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Hobby"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Context"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="State"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="True">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Count"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="C"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="True">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Guest"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="Name"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Sex"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Hobby"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.LastSeat"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="Seat"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="True">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Path"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="Id"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>

            <a:Member Name="Name"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Seat"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="True">
                <a:Parameter IsReturn="False"
                           TypeRef="System.Int32" />
            </a:Member>
        </a:Type>
        <a:Type Name="Tulip.Rules.Benchmark.Manners.Types.Seating"
              AssemblyRef="Tulip.Rules.Benchmark.MissManners.Types"
              TypeKind="Class"
              TypeVisibility="Public"
              IsStatic="False">
            <a:Member Name="Id"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                             TypeRef="System.Int32" />
            </a:Member>

            <a:Member Name="Pid"
                      Kind="Property"
                      Visibility="Public"
                      IsStatic="False">
                <a:Parameter IsReturn="True"
                             TypeRef="System.Int32" />
            </a:Member>
            <a:Member Name="PathDone"
                      Kind="Property"
                      Visibility="Public"
                      IsStatic="False">
                <a:Parameter IsReturn="True"
                             TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Name1"
                        Kind="Property"
                        Visibility="Public"
                        IsStatic="False">
                <a:Parameter IsReturn="True"
                               TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Name2"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.String" />
            </a:Member>
            <a:Member Name="Seat1"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>
            <a:Member Name="Seat2"
                    Kind="Property"
                    Visibility="Public"
                    IsStatic="False">
                <a:Parameter IsReturn="True"
                           TypeRef="System.Int32" />
            </a:Member>
        </a:Type>
    </a:Items.Types>
    <!--<a:Items.Entities>
        <a:Entity Name="Chosen"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Chosen">
            <a:Attribute Name="Id" 
                       BoundMemberRef="Id"/>
            <a:Attribute Name="Name" 
                       BoundMemberRef="Name"/>
            <a:Attribute Name="Hobby" 
                       BoundMemberRef="Hobby"/>
        </a:Entity>
        <a:Entity Name="Context"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Context">
            <a:Attribute Name="State" 
                       BoundMemberRef="State"/>
        </a:Entity>
        <a:Entity Name="Count"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Count">
            <a:Attribute Name="C" 
                       BoundMemberRef="C"/>
        </a:Entity>
        <a:Entity Name="Guest"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Guest">
            <a:Attribute Name="Name" 
                       BoundMemberRef="Name"/>
            <a:Attribute Name="Sex" 
                       BoundMemberRef="Sex"/>
            <a:Attribute Name="Hobby" 
                       BoundMemberRef="Hobby"/>
        </a:Entity>
        <a:Entity Name="LastSeat"
                BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.LastSeat">
            <a:Attribute Name="Seat" 
                       BoundMemberRef="Seat"/>
        </a:Entity>
        <a:Entity Name="Path"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Path">
            <a:Attribute Name="Id" 
                       BoundMemberRef="Id"/>
            <a:Attribute Name="Name" 
                       BoundMemberRef="Name"/>
            <a:Attribute Name="Seat" 
                       BoundMemberRef="Seat"/>
        </a:Entity>
        <a:Entity Name="Seating"
                   BoundTypeRef="Tulip.Rules.Benchmark.Manners.Types.Seating">
            <a:Attribute Name="Id" 
                       BoundMemberRef="Id"/>
            <a:Attribute Name="Pid" 
                       BoundMemberRef="Pid"/>
            <a:Attribute Name="PathDone" 
                       BoundMemberRef="PathDone"/>
            <a:Attribute Name="Name1" 
                       BoundMemberRef="Name1"/>
            <a:Attribute Name="Name2" 
                       BoundMemberRef="Name2"/>
            <a:Attribute Name="Seat1" 
                       BoundMemberRef="Seat1"/>
            <a:Attribute Name="Seat2" 
                       BoundMemberRef="Seat2"/>
        </a:Entity>
    </a:Items.Entities>-->
    <a:Items.ClassFrames>
        <a:Frame 
            Name="Thing"
            Role="Abstract"
            InstanceOf="StandardClass" />
        <a:Frame 
            Name="SystemClass"
            Role="Abstract"
            Inherits="Thing"
            InstanceOf="StandardClass" />
        <a:Frame 
            Name="MetaClass"
            Role="Abstract"
            Inherits="SystemClass"
            InstanceOf="StandardClass" />
        <a:Frame
            Name="Class"
            Role="Abstract"
            Inherits="SystemClass"
            InstanceOf="StandardClass" 
            IsMetaclass="true" />
        <a:Frame 
            Name="StandardClass"
            Role="Concrete"
            Inherits="Class"
            InstanceOf="StandardClass" 
            IsMetaclass="true" />
        <a:Frame 
            Name="Chosen"
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Chosen">
            <a:Slot 
                Name="Id"
                BoundMember="Id" />
            <a:Slot 
                Name="Name"
                BoundMember="Name" />
            <a:Slot 
                Name="Hobby"
                BoundMember="Hobby" />
        </a:Frame>
        <a:Frame 
            Name="Context"
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Context">
            <a:Slot 
                Name="State"
                BoundMember="State" />
        </a:Frame>
        <a:Frame 
            Name="Count"
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Count">
            <a:Slot 
                Name="C"
                BoundMember="C"/>
        </a:Frame>
        <a:Frame 
            Name="Guest" 
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Guest">
            <a:Slot 
                Name="Name"
                BoundMember="Name" />
            <a:Slot 
                Name="Sex"
                BoundMember="Sex" />
            <a:Slot 
                Name="Hobby"
                BoundMember="Hobby" />
        </a:Frame>
        <a:Frame 
            Name="LastSeat"
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.LastSeat">
            <a:Slot 
                Name="Seat"
                BoundMember="Seat" />
        </a:Frame>
        <a:Frame 
            Name="Path"
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Path">
            <a:Slot 
                Name="Id"
                BoundMember="Id" />
            <a:Slot 
                Name="Name"
                BoundMember="Name" />
            <a:Slot 
                Name="Seat"
                BoundMember="Seat" />
        </a:Frame>
        <a:Frame 
            Name="Seating" 
            Role="Concrete"
            InstanceOf="StandardClass"
            BoundType="Tulip.Rules.Benchmark.Manners.Types.Seating">
            <a:Slot 
                Name="Id"
                BoundMember="Id" />
            <a:Slot 
                Name="Pid"
                BoundMember="Pid" />
            <a:Slot 
                Name="PathDone"
                BoundMember="PathDone" />
            <a:Slot 
                Name="Name1"
                BoundMember="Name1" />
            <a:Slot 
                Name="Name2"
                BoundMember="Name2" />
            <a:Slot 
                Name="Seat1"
                BoundMember="Seat1" />
            <a:Slot 
                Name="Seat2"
                BoundMember="Seat2" />
        </a:Frame>
    </a:Items.ClassFrames>
    <a:Items.Tuples>
        <a:Tuple Name="Chosen"
                  IsOrdered="False"
                  Role="Entity"
                  IndexAll="False">
            <a:Attribute 
                Name="Id"
                Frame="Chosen"
                Slot="Id"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Name"
                Frame="Chosen"
                Slot="Name"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Hobby"
                Frame="Chosen"
                Slot="Hobby"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="Context"
                  Role="Entity"
                  IndexAll="True">
            <a:Attribute 
                Name="State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="Count"
                  Role="Entity"
                  IndexAll="True">
            <a:Attribute 
                Name="C"
                Frame="Count"
                Slot="C"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="Guest"
                  Role="Entity"
                  IndexAll="True">
            <a:Attribute 
                Name="Name"
                Frame="Guest"
                Slot="Name"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Sex"
                Frame="Guest"
                Slot="Sex"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Hobby"
                Frame="Guest"
                Slot="Hobby"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="LastSeat"
                  Role="Entity"
                  IndexAll="True" >
            <a:Attribute 
                Name="Seat"
                Frame="LastSeat"
                Slot="Seat"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="Path"
                  Role="Entity"
                  IndexAll="False">
            <a:Attribute 
                Name="Id"
                Frame="Path"
                Slot="Id"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Name"
                Frame="Path"
                Slot="Name"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="Seating"
                  Role="Entity"
                  IndexAll="True">
            <a:Attribute 
                Name="PathDone"
                Frame="Seating"
                Slot="PathDone"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Seat2"
                Frame="Seating"
                Slot="Seat2"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="JoinTuple1"
                  Role="JoinRoot"
                  IndexAll="True">
        </a:Tuple>
        <a:Tuple Name="JoinTuple2"
                  Role="JoinRoot"
                  IndexAll="True">
        </a:Tuple>
        <a:Tuple Name="JoinTuple3"
                  Role="JoinRoot"
                  IndexAll="True">
        </a:Tuple>
        <a:Tuple Name="JoinTuple4"
                  Role="JoinRoot"
                  IndexAll="False">
        </a:Tuple>
        <a:Tuple Name="JoinTuple5"
                  Role="JoinRoot"
                  IndexAll="False">
        </a:Tuple>
        <a:Tuple Name="J1"
                  Role="Join"
                  Extends="JoinTuple1"
                  IndexAll="true">
        </a:Tuple>
        <a:Tuple Name="J3"
                  Role="Join"
                  Extends="JoinTuple2"
                  IndexAll="False">
            <a:Attribute 
                Name="Seating_Name2"
                Frame="Seating"
                Slot="Name2"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="J4"
                  Role="Join"
                  Extends="JoinTuple2"
                  IndexAll="False">
            <a:Attribute 
                Name="Guest_1_Sex"
                Frame="Guest"
                Slot="Sex"
                Instance="1"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Guest1_Hobby"
                Frame="Guest"
                Slot="Hobby"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="J5"
                  Role="Join"
                  Extends="JoinTuple2"
                  IndexAll="true">
        </a:Tuple>
        <a:Tuple Name="J6"
                  Role="Join"
                  Extends="JoinTuple2"
                  IndexAll="True">
            <a:Attribute 
                Name="Seating_Id"
                Frame="Seating"
                Slot="Id"
                Cache="true"
                IndexedBy="true" />
            <a:Attribute 
                Name="Guest_1_Hobby"
                Frame="Guest"
                Slot="Hobby"
                Instance="1"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Guest_2_Name"
                Frame="Guest"
                Slot="Name"
                Instance="2"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="J7"
                  Role="Join"
                  Extends="JoinTuple3"
                  IndexAll="False">
            <a:Attribute 
                Name="Seating_Pid"
                Frame="Seating"
                Slot="Pid"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="J8"
                  Role="Join"
                  Extends="JoinTuple3"
                  IndexAll="true">
            <a:Attribute 
                Name="Seating_Id"
                Frame="Seating"
                Slot="Id"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Path_Name"
                Frame="Path"
                Slot="Name"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="J9"
                  Role="Join"
                  Extends="JoinTuple4"
                  IndexAll="False">
            <a:Attribute 
                Name="LastSeat_Seat"
                Frame="LastSeat"
                Slot="Seat"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="J11"
                  Role="Join"
                  Extends="JoinTuple5"
                  IndexAll="False">
            <a:Attribute 
                Name="Seating_Seat2"
                Frame="Seating"
                Slot="Seat2"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="J12"
                  Role="Join"
                  Extends="JoinTuple5"
                  IndexAll="False">
            <a:Attribute 
                Name="Seating_Id"
                Frame="Seating"
                Slot="Id"
                Cache="true"
                IndexedBy="true" />
        </a:Tuple>
        <a:Tuple Name="AssignFirstSeat"
                  Role="Production"
                  Extends="JoinTuple1">
            <a:Attribute 
                Name="Guest_Name"
                Frame="Guest"
                Slot="Name"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Count_C"
                Frame="Count"
                Slot="C"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Context_State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="FindSeating"
                  Role="Production"
                  Extends="JoinTuple2">
            <a:Attribute 
                Name="Context_State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Seating_Id"
                Frame="Seating"
                Slot="Id"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Seating_Name2"
                Frame="Seating"
                Slot="Name2"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Seating_Seat2"
                Frame="Seating"
                Slot="Seat2"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Guest_1_Hobby"
                Frame="Guest"
                Slot="Hobby"
                Instance="1"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Guest_2_Name"
                Frame="Guest"
                Slot="Name"
                Instance="2"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Count_C"
                Frame="Count"
                Slot="C"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="PathDone"
                  Role="Production"
                  Extends="JoinTuple3">
            <a:Attribute 
                Name="Context_State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Seating_PathDone"
                Frame="Seating"
                Slot="PathDone"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="MakePath"
                  Role="Production"
                  Extends="JoinTuple3">
            <a:Attribute 
                Name="Seating_Id"
                Frame="Seating"
                Slot="Id"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Path_Name"
                Frame="Path"
                Slot="Name"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Path_Seat"
                Frame="Path"
                Slot="Seat"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="Continue"
                  Role="Production"
                  Extends="JoinTuple4">
            <a:Attribute 
                Name="Context_State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="AreWeDone"
                  Role="Production"
                  Extends="JoinTuple4">
            <a:Attribute 
                Name="Context_State"
                Frame="Context"
                Slot="State"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="PrintResults"
                  Role="Production"
                  Extends="JoinTuple5">
            <a:Attribute 
                Name="Path_Name"
                Frame="Path"
                Slot="Name"
                Cache="true"
                IndexedBy="false" />
            <a:Attribute 
                Name="Path_Seat"
                Frame="Path"
                Slot="Seat"
                Cache="true"
                IndexedBy="false" />
        </a:Tuple>
        <a:Tuple Name="AllDone"
                  Role="Production"
                  Extends="JoinTuple5">
        </a:Tuple>
    </a:Items.Tuples>
    <a:Items.Productions>
        <a:Production Name="FindSeating"
                    TupleRef="FindSeating"
                    Salience="0"
                    Specificity="7"
                    Position="2" >
        </a:Production>
        <a:Production Name="PathDone"
                    TupleRef="PathDone"
                    Salience="0"
                    Specificity="2"
                    Position="3" >
        </a:Production>
        <a:Production Name="MakePath"
                    TupleRef="MakePath"
                    Salience="1"
                    Specificity="4"
                    Position="4" >
        </a:Production>
        <a:Production Name="Continue"
                    TupleRef="Continue"
                    Salience="0"
                    Specificity="1"
                    Position="5" >
        </a:Production>
        <a:Production Name="AreWeDone"
                    TupleRef="AreWeDone"
                    Salience="1"
                    Specificity="1"
                    Position="6" >
        </a:Production>
        <a:Production Name="PrintResults"
                    TupleRef="PrintResults"
                    Salience="0"
                    Specificity="1"
                    Position="7" >
        </a:Production>
        <a:Production Name="AllDone"
                    TupleRef="AllDone"
                    Salience="0"
                    Specificity="1"
                    Position="8" >
        </a:Production>
        <a:Production Name="AssignFirstSeat"
                    TupleRef="AssignFirstSeat"
                    Salience="0"
                    Specificity="1"
                    Position="1">
            <a:Production.ActionText>Context.CreateSeating(100, &quot;Charles Young&quot;, &quot;Cheryl Young&quot;, 101, 1, 0, &quot;true&quot;);"</a:Production.ActionText>
            <a:Expression Position="1">
                <a:Expression.Text>&lt;LambdaExpression NodeType="Lambda"&gt;
  &lt;Body&gt;
    &lt;MethodCallExpression NodeType="Call"&gt;
      &lt;Method MemberType="Method" MethodName="CreateSeating"&gt;
        &lt;DeclaringType&gt;
          &lt;Type Name="Tulip.Rules.Benchmark.Manners.Types.Context" /&gt;
        &lt;/DeclaringType&gt;
        &lt;Parameters&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
        &lt;/Parameters&gt;
        &lt;GenericArgTypes /&gt;
      &lt;/Method&gt;
      &lt;Object /&gt;
      &lt;Arguments&gt;
        &lt;ParameterExpression Name="seat1" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="name1" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="name2" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="seat2" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="id" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="pid" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.Int32" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
        &lt;ParameterExpression Name="pathDone" NodeType="Parameter"&gt;
          &lt;Type&gt;
            &lt;Type Name="System.String" /&gt;
          &lt;/Type&gt;
        &lt;/ParameterExpression&gt;
      &lt;/Arguments&gt;
      &lt;Type&gt;
        &lt;Type Name="Tulip.Rules.Benchmark.Manners.Types.Seating" /&gt;
      &lt;/Type&gt;
    &lt;/MethodCallExpression&gt;
  &lt;/Body&gt;
  &lt;Parameters&gt;
    &lt;ParameterExpression Name="seat1" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.Int32" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="name1" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.String" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="name2" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.String" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="seat2" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.Int32" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="id" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.Int32" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="pid" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.Int32" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
    &lt;ParameterExpression Name="pathDone" NodeType="Parameter"&gt;
      &lt;Type&gt;
        &lt;Type Name="System.String" /&gt;
      &lt;/Type&gt;
    &lt;/ParameterExpression&gt;
  &lt;/Parameters&gt;
  &lt;Type&gt;
    &lt;Type Name="zzSerialiseExpressions.Form1+Func`8"&gt;
      &lt;Type Name="System.Int32" /&gt;
      &lt;Type Name="System.String" /&gt;
      &lt;Type Name="System.String" /&gt;
      &lt;Type Name="System.Int32" /&gt;
      &lt;Type Name="System.Int32" /&gt;
      &lt;Type Name="System.Int32" /&gt;
      &lt;Type Name="System.String" /&gt;
      &lt;Type Name="Tulip.Rules.Benchmark.Manners.Types.Seating" /&gt;
    &lt;/Type&gt;
  &lt;/Type&gt;
&lt;/LambdaExpression&gt;</a:Expression.Text>
                <a:Argument Name="seat1" 
                          Position="1">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;100&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.Int32" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="name1"  
                                  Position="2">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;Charles Young&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.String" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="name2"  
                                  Position="3">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;Cheryl Young&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.String" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="seat2"  
                                  Position="4">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;101&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.Int32" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="id"
                                  Position="5">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;1&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.Int32" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="pid"
                                  Position="6">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;0&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.Int32" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
                <a:Argument Name="pathDone"
                                  Position="7">
                    <a:Expression>
                        <a:Expression.Text>&lt;ConstantExpression NodeType="Constant"&gt;
  &lt;Value&gt;true&lt;/Value&gt;
  &lt;Type&gt;
    &lt;Type Name="System.String" /&gt;
  &lt;/Type&gt;
&lt;/ConstantExpression&gt;</a:Expression.Text>
                    </a:Expression>
                </a:Argument>
            </a:Expression>
        </a:Production>
    </a:Items.Productions>
    <a:Items.Relations>
        <a:Relation Id="1"
                  Name="Count"
                  TupleRef="EtCount">
            <a:Index Id="0" 
                   Name="_countIndexer" />
        </a:Relation>
        <a:Relation Id="2"
                  Name="Guest"
                  TupleRef="EtGuest">
            <a:Index Id="0" 
                   Name="_guestIndexer"/>
            <a:Index Id="1" 
                   Name="_guestNameIndexer">
                <a:Field Index="0"
                       Frame="Guest" 
                       SlotRef="Guest_Name" />
            </a:Index>
            <a:Index Id="2" 
                   Name="_guestSexHobbyIndexer">
                <a:Field Index="0"
                       Frame="Guest" 
                       SlotRef="Guest_Sex" />
                <a:Field Index="1"
                       Frame="Guest" 
                       SlotRef="Guest_Hobby" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="3"
                  Name="Chosen"
                  TupleRef="EtChosen">
            <a:Index Id="0" 
                   Name="_chosenIdNameHobbyIndexer">
                <a:Field Index="0"
                       Frame="Chosen" 
                       SlotRef="Chosen_Id" />
                <a:Field Index="1"
                       Frame="Chosen" 
                       SlotRef="Chosen_Name" />
                <a:Field Index="2"
                       Frame="Chosen" 
                       SlotRef="Chosen_Hobby" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="4"
                  Name="Path"
                  TupleRef="EtPath">
            <a:Index Id="0" 
                   Name="_pathIdNameIndexer">
                <a:Field Index="0"
                       Frame="Path" 
                       SlotRef="Path_Id" />
                <a:Field Index="1"
                       Frame="Path" 
                       SlotRef="Path_Name" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="5"
                  Name="LastSeat"
                  TupleRef="EtLastSeat">
            <a:Index Id="0" 
                   Name="_lastSeatIndexer"/>
            <a:Index Id="1" 
                   Name="_lastSeatSeatIndexer">
                <a:Field Index="0"
                       Frame="LastSeat" 
                       SlotRef="LastSeat_Seat" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="6"
                  Name="Context_start"
                  TupleRef="EtContext">
            <a:Index Id="0" 
                   Name="_context_startIndexer"/>
        </a:Relation>
        <a:Relation Id="7"
                  Name="Context_assign_seats"
                  TupleRef="EtContext">
            <a:Index Id="1" 
                   Name="_context_assign_seatsIndexer"/>
        </a:Relation>
        <a:Relation Id="8"
                  Name="Context_make_path"
                  TupleRef="EtContext">
            <a:Index Id="2" 
                   Name="_context_make_pathIndexer"/>
        </a:Relation>
        <a:Relation Id="9"
                  Name="Context_check_done"
                  TupleRef="EtContext">
            <a:Index Id="3" 
                   Name="_context_check_doneIndexer"/>
        </a:Relation>
        <a:Relation Id="10"
                  Name="Context_print_results"
                  TupleRef="EtContext">
            <a:Index Id="4" 
                   Name="_context_print_resultsIndexer"/>
        </a:Relation>
        <a:Relation Id="11"
                  Name="Seating"
                  TupleRef="EtSeating">
            <a:Index Id="0" 
                   Name="_seatingIndexer"/>
            <a:Index Id="3" 
                   Name="_seatingSeat2Indexer">
                <a:Field Index="0"
                       Frame="Seating" 
                       SlotRef="Seating_Seat2" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="12"
                  Name="Seating_yes"
                  TupleRef="EtSeating">
            <a:Index Id="1" 
                   Name="_seating_yesIndexer"/>
        </a:Relation>
        <a:Relation Id="13"
                  Name="Seating_no"
                  TupleRef="EtSeating">
            <a:Index Id="2" 
                   Name="_seating_noIndexer"/>
        </a:Relation>
        <a:Relation Id="14"
                  Name="J1"
                  TupleRef="JoinTuple1">
            <a:Index Id="0" 
                   Name="_j1Indexer"/>
        </a:Relation>
        <a:Relation Id="15"
                  Name="J3"
                  TupleRef="JoinTuple2">
            <a:Index Id="0" 
                   Name="_jSeq2J3SeatingName2Indexer">
                <a:Field Index="0"
                       Frame="Seating" 
                       SlotRef="Seating_Name2" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="16"
                  Name="J4"
                  TupleRef="JoinTuple2">
            <a:Index Id="1" 
                   Name="_jSeq2J4GuestSexHobbyIndexer">
                <a:Field Index="0"
                       Frame="Guest" 
                       SlotRef="Guest_Sex" />
                <a:Field Index="1"
                       Frame="Guest" 
                       SlotRef="Guest_Hobby" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="17"
                  Name="J5"
                  TupleRef="JoinTuple2">
            <a:Index Id="0" 
                   Name="_j5Indexer"/>
        </a:Relation>
        <a:Relation Id="18"
                  Name="J6"
                  TupleRef="JoinTuple2">
            <a:Index Id="0" 
                   Name="_j6Indexer"/>
        </a:Relation>
        <a:Relation Id="19"
                  Name="J7"
                  TupleRef="JoinTuple3">
            <a:Index Id="0" 
                   Name="_jSeq3J7SeatingPidIndexer">
                <a:Field Index="0"
                       Frame="Seating" 
                       SlotRef="Seating_Pid" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="20"
                  Name="J8"
                  TupleRef="JoinTuple3">
            <a:Index Id="0" 
                   Name="_j8Indexer"/>
        </a:Relation>
        <a:Relation Id="21"
                  Name="J9"
                  TupleRef="JoinTuple4">
            <a:Index Id="0" 
                   Name="_jSeq4J9LastSeatingSeatIndexer">
                <a:Field Index="0"
                       Frame="LastSeating" 
                       SlotRef="LastSeating_Seat" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="22"
                  Name="J11"
                  TupleRef="JoinTuple5">
            <a:Index Id="0" 
                   Name="_jSeq5J11SeatingSeat2Indexer">
                <a:Field Index="0"
                       Frame="Seating" 
                       SlotRef="Seating_Seat2" />
            </a:Index>
        </a:Relation>
        <a:Relation Id="23"
                  Name="J12"
                  TupleRef="JoinTuple5">
            <a:Index Id="0" 
                   Name="_jSeq5J12SeatingIdIndexer">
                <a:Field Index="0"
                       Frame="Seating" 
                       SlotRef="Seating_Id" />
            </a:Index>
        </a:Relation>
    </a:Items.Relations>
    <a:Items.ConflictResolution>
        <a:ConflictResolutionMetadata>
            <!--a:ConflictResolution.Strategies>
                <a:Strategy Name="Depth First Strategy" 
                          AssemblyRef="Tulip.TupleListProcessor"
                          ClassName="Tulip.TupleListProcessor.ConflictResolution.DepthFirstStrategy" />
            </a:ConflictResolution.Strategies>
            <a:ConflictResolution.AgendaLists>
                <a:AgendaList Name="priority_0"
                            Priority="0" />
                <a:AgendaList Name="priority_1"
                            Priority="1" />
            </a:ConflictResolution.AgendaLists-->
        </a:ConflictResolutionMetadata>
    </a:Items.ConflictResolution>
</a:Items>
